package com.ph.shopping.facade.mapper;

import java.util.List;
import java.util.Map;

import com.ph.shopping.common.core.base.BaseMapper;
import com.ph.shopping.facade.member.dto.BankCardBindInfoDto;
import com.ph.shopping.facade.member.entity.BankBindCardLog;
import com.ph.shopping.facade.member.entity.BankCardBind;
import com.ph.shopping.facade.member.entity.BankCardInfo;
import com.ph.shopping.facade.member.entity.BankCodeAndName;

public interface BankCardMapper extends BaseMapper<BankCardInfo>{

	/**
	 * 
	* @Title: insertBankCardBind  
	* @Description: 新增绑绑定关系数据  
	* @param @param banCardBindInfo    参数  
	* @return void    返回类型  
	* @throws
	 */
	void insertBankCardBind(BankCardBind banCardBindInfo);
	/**
	 * 
	* @Title: insertBankBindCardLog  
	* @Description: 新增银行卡日志 
	* @param @param bankBindCardLog    参数  
	* @return void    返回类型  
	* @throws
	 */
	void insertBankBindCardLog(BankBindCardLog bankBindCardLog);
	/**
	 * 
	* @Title: updateBankCardBind  
	* @Description: 解绑银行卡  
	* @param @param banCardBindInfo
	* @param @return    参数  
	* @return int    返回类型  
	* @throws
	 */
	int updateBankCardBind(BankCardBind banCardBindInfo);
	/**
	 * 
	* @Title: selectBankCardInfoList  
	* @Description: 查询银行卡列表数据  
	* @param @param bankCard
	* @param @return    参数  
	* @return List<BankCardInfo>    返回类型  
	* @throws
	 */
	List<BankCardInfo> selectBankCardInfoList(BankCardInfo bankCard);
	/**
	 * 
	* @Title: selectUserBindBankCardList  
	* @Description:获取绑定的银行卡信息
	* @param @param userId
	* @param @return    参数  
	* @return List<BankCardBindInfoDto>    返回类型  
	* @throws
	 */
	List<BankCardBindInfoDto> selectUserBindBankCardList(Map<String, Object> map);
	/**
	 * 
	* @Title: selectBankCardInfoByPage  
	* @Description: 根据分页数据获取银行卡列表  
	* @param @param map
	* @param @return    参数  
	* @return List<BankCardInfo>    返回类型  
	* @throws
	 */
	List<BankCardInfo> selectBankCardInfoByPage(Map<String, Object> map);
	/**
	 * 
	* @Title: selectBankCardInfoByCardNum  
	* @Description: 根据银行卡  
	* @param @param cardNum
	* @param @return    参数  
	* @return BankCardInfo    返回类型  
	* @throws
	 */
	BankCardInfo selectBankCardInfoByCardNum(Map<String, Object> map);
	/**
	 * 
	* @Title: selectUserBindBankCardByUid  
	* @Description: 查询用户绑定的银行卡信息
	* @param @param map
	* @param @return    参数  
	* @return BankCardBindInfoDto    返回类型  
	* @throws
	 */
	BankCardBindInfoDto selectUserBindBankCardByUid(Map<String, Object> map);
	/**
	 * 
	* @Title: insertIntoBankByCodeAndName  
	* @Description: 批量新增银行卡code name数据 
	* @param @param list    参数  
	* @return void    返回类型  
	* @throws
	 */
	void insertIntoBankByCodeAndName(List<BankCodeAndName> list);
	/**
	 * 
	* @Title: selectBankCodeAndNameByCode  
	* @Description: 根据银行卡号获取相关信息 
	* @param @param bankCode
	* @param @return    参数  
	* @return BankCodeAndName    返回类型  
	* @throws
	 */
	BankCodeAndName selectBankCodeAndNameByCode(String bankCode);
	/**
	 * 
	 * @Title: selectUserBindBankCard   
	 * @Description: 得到用户绑定的银行卡信息   
	 * @param: @param map
	 * @param: @return      
	 * @return: BankCardBindInfoDto      
	 * @throws
	 */
	List<BankCardBindInfoDto> selectUserBindBankCard(Map<String, Object> map);
}
